class Person {
  String name = 'p';
  int age = 20;

  Person(this.name, this.age);

  Person.xxx(this.name);

  getUserInfo() {
    print('这是父类getUserInfo');
  }
}

class Web extends Person {
  String like;

//   Web(String name, int age, this.like) : super(name, age);

  Web(super.name, super.age, this.like); // 简写

  // Web(String name, int age, this.like) : super.xxx(name); // 继承具名构造函数

  run() {
    print('${this.name}---${this.age}---${this.like}');
    super.getUserInfo(); // 调用父类方法，也可以 this 调用
  }

  @override // 重写父类方法，建议写上
  getUserInfo() {
    print("这是重写的子类方法getUserInfo");
  }
}

void main() {
  Web w = new Web('张三', 30, 'girl');

  print("${w.name}---${w.age}---${w.like}");
  w.run();
  w.getUserInfo();
}
